home *** CD-ROM | disk | FTP | other *** search
/ Saint Tail Phantom Thief Screensaver / Saint Tail Phantom Thief Screen Saver.iso / pc / setup / setup.mst < prev    next >
Text File  |  1996-08-15  |  9KB  |  327 lines

  1. '**************************************************************************
  2. '*    KShop Engine Install Script
  3. '*        Copyright (C) 1996 Impress Corporation 
  4. '*        All rights reserved. 
  5. '**************************************************************************
  6.  
  7. '$DEFINE DEBUG  ''Define for script development/debugging
  8.  
  9. '$INCLUDE 'setupapi.inc'
  10. '$INCLUDE 'msdetect.inc'
  11.  
  12. ''Dialog ID's
  13. CONST WELCOME       = 100
  14. CONST ASKQUIT       = 200
  15. CONST DESTPATH      = 300
  16. CONST EXITFAILURE   = 400
  17. CONST EXITQUIT      = 600
  18. CONST EXITSUCCESS   = 700
  19. CONST OPTIONS       = 800
  20. CONST APPHELP       = 900
  21. CONST CUSTINST      = 6200
  22. CONST TOOBIG       = 6300
  23. CONST BADPATH       = 6400
  24. CONST BILLBOARD     = 4545
  25.  
  26. ''Bitmap ID
  27. CONST LOGO = 1
  28.  
  29. GLOBAL DEST$        ''Default destination directory.
  30. GLOBAL OPTCUR$      ''Option selection from option dialog.
  31. GLOBAL WINDIR$
  32. GLOBAL CUIDLL$
  33.  
  34. DECLARE SUB Install
  35. DECLARE SUB CalcSpace
  36. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  37. DECLARE FUNCTION MakePath2 (szDir$, szFile$) AS STRING
  38. DECLARE FUNCTION BitmapCntrlInit LIB "mscuistf.dll" as INTEGER
  39.  
  40. DIM E$(5)
  41.  
  42.  
  43. INIT:
  44.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  45.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  46.  
  47.     SetBitmap CUIDLL$, LOGO
  48.     SetTitle "âZâCâôâgâeü[âï Setup"
  49.  
  50.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  51.     IF szInf$ = "" THEN
  52.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  53.     END IF
  54.     ReadInfFile szInf$
  55.  
  56.     OPTCUR$ = "1"
  57.     DEST$ =  MID$(GetWindowsDir, 1, 1) + ":\SAINT"
  58.  
  59. '$IFDEF DEBUG
  60.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  61.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  62.     IF IsDriveValid(WinDrive$) = 0 THEN
  63.         i% = DoMsgBox("Windows âhâëâCâu ('"+WinDrive$+"') é═üAû│î°é╚âhâëâCâué┼é╖üB", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  64.         GOTO QUIT
  65.     END IF
  66. '$ENDIF ''DEBUG
  67.  
  68. WELCOME:
  69.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  70.     IF sz$ = "CONTINUE" THEN
  71.         UIPop 1
  72.     ELSE
  73.         GOSUB ASKQUIT
  74.         GOTO WELCOME
  75.     END IF
  76.  
  77. OPTION:
  78.     SetSymbolValue "RadioDefault", OPTCUR$
  79. OPTL1:
  80.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  81.     OPTCUR$ = GetSymbolValue("ButtonChecked")
  82.  
  83.     IF sz$ = "CONTINUE" THEN
  84.         UIPop(1)
  85.     ELSEIF sz$ = "REACTIVATE" THEN
  86.         GOTO OPTL1
  87.     ELSE
  88.         GOSUB ASKQUIT
  89.         GOTO OPTION
  90.     END IF
  91.  
  92.  
  93. GETPATH:
  94.     SetSymbolValue "EditTextIn", DEST$
  95.     SetSymbolValue "EditFocus", "END"
  96. GETPATHL1:
  97.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  98.     DEST$ = GetSymbolValue("EditTextOut")
  99.  
  100.     IF sz$ = "CONTINUE" THEN
  101.         IF IsDirWritable(DEST$) = 0 THEN
  102.             GOSUB BADPATH
  103.             GOTO GETPATHL1
  104.         END IF
  105.         UIPop 1
  106.     ELSEIF sz$ = "REACTIVATE" THEN
  107.         GOTO GETPATHL1
  108.     ELSEIF sz$ = "BACK" THEN
  109.         UIPop 1
  110.         GOTO GETPATH 
  111.     ELSE
  112.         GOSUB ASKQUIT
  113.         GOTO GETPATH
  114.     END IF
  115.  
  116.  
  117.     ''Disk cost list symbols
  118.     EXTRACOSTS$ = "ExtraCosts"
  119.     FOR i% = 1 TO 26 STEP 1
  120.         AddListItem EXTRACOSTS$, "0"
  121.     NEXT i%
  122.  
  123.     CalcSpace
  124.  
  125.     Install
  126.  
  127.     ks$ = "Screen Saver.âZâCâôâgâeü[âï"
  128.     IF OPTCUR$ = "1" THEN
  129.     FULL$ = ""
  130.     ELSE
  131.     FULL$ = "F"
  132.     ENDIF 
  133.  
  134.     E$(1) = "âuâëâCâôâhâÅâCâv"
  135.     E$(2) = "âEâBâôâNâÅâCâv"
  136.     E$(3) = "èKÆiÅ≤âÅâCâv"
  137.     E$(4) = "âXâNâìü[âï"
  138.     E$(5) = "âXâ^âôâ_ü[âh"
  139.  
  140.     ini$ = MakePath(WINDIR$, "KSHOP2.INI")
  141.  
  142.     CreateIniKeyValue ini$, ks$, "é¿é▄é⌐é╣âéü[âh", "1", cmoNone
  143.     CreateIniKeyValue ini$, ks$, "âpâXâÅü[âhò█î∞", "0", cmoNone
  144.     CreateIniKeyValue ini$, ks$, "æ╥é┐Ä₧è╘", "0", cmoNone
  145.     CreateIniKeyValue ini$, ks$, "É╪æ╓ÉFé¬ìò", "1", cmoNone
  146.     CreateIniKeyValue ini$, ks$, "âëâôâ_âÇò\Ī", "0", cmoNone
  147.     CreateIniKeyValue ini$, ks$, "ï╚Éö", "4", cmoNone
  148.     CreateIniKeyValue ini$, ks$, "ï╚1", DEST$ + "\WAV\"+"MUSIC1.WAV,ë╣èyéP", cmoNone
  149.     CreateIniKeyValue ini$, ks$, "ï╚2", DEST$ + "\WAV\"+"MUSIC2.WAV,ë╣èyéQ", cmoNone
  150.     CreateIniKeyValue ini$, ks$, "ï╚3", DEST$ + "\WAV\"+"MUSIC3.WAV,ë╣èyéR", cmoNone
  151.     CreateIniKeyValue ini$, ks$, "ï╚4", DEST$ + "\WAV\"+"MUSIC4.WAV,ë╣èyéS", cmoNone
  152.     CreateIniKeyValue ini$, ks$, "éaéfélâZâîâNâg", "1", cmoNone
  153.     CreateIniKeyValue ini$, ks$, "ë╣ù╩", "3", cmoNone
  154.     CreateIniKeyValue ini$, ks$, "æìÉö", "37", cmoNone
  155.  
  156.     IF OPTCUR$ = "1" THEN
  157.     PRE$ = "256_"
  158.     ELSE
  159.     PRE$ = "FULL_"
  160.     ENDIF 
  161.  
  162.     FOR i% = 1 TO 39 STEP 1
  163.     J% = I% mod 5
  164.     IF J% = 0 THEN
  165.         J% = 5
  166.     END IF
  167.         A$ = STR$(i%)
  168.         IF LEN(A$) = 2 THEN
  169.             B$ = "0" + MID$(A$, 2, 1)
  170.         C$ = MID$(A$, 2, 1)
  171.         ELSE
  172.         B$ = MID$(A$, 2, 2)
  173.         C$ = B$
  174.         ENDIF
  175.     CreateIniKeyValue ini$, ks$, "ægé▌ìçéφé╣" + C$, DEST$ + "\BITMAP\" + PRE$ + B$ + ".BMP" + "," + E$(J%), cmoNone
  176.     NEXT i%
  177.  
  178. QUIT:
  179.     ON ERROR GOTO ERRQUIT
  180.  
  181.     IF ERR = 0 THEN
  182.         dlg% = EXITSUCCESS
  183.     ELSEIF ERR = STFQUIT THEN
  184.         dlg% = EXITQUIT
  185.     ELSE
  186.         dlg% = EXITFAILURE
  187.     END IF
  188. QUITL1:
  189.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  190.     IF sz$ = "REACTIVATE" THEN
  191.         GOTO QUITL1
  192.     END IF
  193.     UIPop 1
  194.  
  195.     END
  196.  
  197. ERRQUIT:
  198.     i% = DoMsgBox("âZâbâgâAâbâvé╠âtâ@âCâïé¬öjæ╣é╡é─éóé▄é╖", "âZâbâgâAâbâv âüâbâZü[âW", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  199.     END
  200.  
  201. BADPATH:
  202.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  203.     IF sz$ = "REACTIVATE" THEN
  204.         GOTO BADPATH
  205.     END IF
  206.     UIPop 1
  207.     RETURN
  208.  
  209. ASKQUIT:
  210.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  211.  
  212.     IF sz$ = "EXIT" THEN
  213.         UIPopAll
  214.         ERROR STFQUIT
  215.     ELSEIF sz$ = "REACTIVATE" THEN
  216.         GOTO ASKQUIT
  217.     ELSE
  218.         UIPop 1
  219.     END IF
  220.     RETURN
  221.  
  222. '**
  223. '** Purpose:
  224. '**     Builds the copy list and performs all installation operations.
  225. '** Arguments:
  226. '**     none.
  227. '** Returns:
  228. '**     none.
  229. '*************************************************************************
  230. SUB Install STATIC
  231.  
  232.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  233.     CreateDir DEST$, cmoNone
  234.  
  235.     WINDIR$ = GetWindowsDir()
  236.     AddSectionFilesToCopyList "WINDOWS", SrcDir$, WINDIR$
  237.     IF OPTCUR$ = "1"  THEN
  238.     AddSectionFilesToCopyList "BITMAP_256COLOR", SrcDir$, DEST$ + "\BITMAP\"
  239.     ELSE
  240.     AddSectionFilesToCopyList "BITMAP_FULLCOLOR", SrcDir$, DEST$ + "\BITMAP\"
  241.     END IF
  242.     AddSectionFilesToCopyList "WAV", SrcDir$, DEST$ + "\WAV\"
  243.     i% = BitmapCntrlInit()
  244.     SetCopyGaugePosition 140, 120
  245.     CopyFilesInCopyList
  246.  
  247. END SUB
  248.  
  249. '**
  250. '** Purpose:
  251. '**     Appends a file name to the end of a directory path,
  252. '**     inserting a backslash character as needed.
  253. '** Arguments:
  254. '**     szDir$  - full directory path (with optional ending "\")
  255. '**     szFile$ - filename to append to directory
  256. '** Returns:
  257. '**     Resulting fully qualified path name.
  258. '*************************************************************************
  259. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  260.     IF szDir$ = "" THEN
  261.         MakePath = szFile$
  262.     ELSEIF szFile$ = "" THEN
  263.         MakePath = szDir$
  264.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  265.         MakePath = MakePath2(szDir$, szFile$)
  266.     ELSE
  267.         MakePath = szDir$ + "\" + szFile$
  268.     END IF
  269. END FUNCTION
  270.  
  271.  
  272. '**
  273. '** Purpose:
  274. '**     If ending "\" is a tailbyte of a DBCS character, append a "\" 
  275. '**     to the end of the file name.
  276. '** Arguments:
  277. '**     szDir$  - full directory path (with optional ending "\")
  278. '**     szFile$ - filename to append to directory
  279. '** Returns:
  280. '**     Resulting fully qualified path name.
  281. '*************************************************************************
  282. FUNCTION MakePath2 (szDir$, szFile$) STATIC AS STRING
  283.     IF IsDBCSChar(szDir$, LEN(szDir$)) = 2 THEN
  284.         MakePath2 = szDir$ + "\" + szFile$
  285.     ELSE
  286.         MakePath2 = szDir$ + szFile$
  287.     END IF
  288. END FUNCTION
  289.  
  290. SUB CalcSpace STATIC
  291.     CursorSave% = ShowWaitCursor()
  292.     ClearCopyList
  293.  
  294.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  295.     WINDIR$ = GetWindowsDir()
  296.     AddSectionFilesToCopyList "WINDOWS", SrcDir$, WINDIR$
  297.     IF OPTCUR$ = "1"  THEN
  298.     AddSectionFilesToCopyList "BITMAP_256COLOR", SrcDir$, DEST$ + "\BITMAP\"
  299.     ELSE
  300.     AddSectionFilesToCopyList "BITMAP_FULLCOLOR", SrcDir$, DEST$ + "\BITMAP\"
  301.     ENDIF
  302.     AddSectionFilesToCopyList "WAV", SrcDir$, DEST$ + "\WAV\"
  303.     ListSym$ = "0"
  304.  
  305.     StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
  306.  
  307.     cost& = 0
  308.     FOR i% = 1 TO 26 STEP 1
  309.         cost&  = cost& + VAL(GetListItem(ListSym$, i%))
  310.     NEXT i%
  311.     drive$ = MID$(DEST$, 1, 1)
  312.     free& = GetFreeSpaceForDrive(drive$)
  313.  
  314.     ClearCopyList
  315.     RestoreCursor CursorSave%
  316.  
  317.     IF (free& < cost&) THEN
  318.         i% = DoMsgBox(drive$ + "âhâëâCâué╠ùeù╩é¬æ½éΦé▄é╣é±üi" + STR$(free& / 1024) + " KâoâCâgüjüBâZâCâôâgâeü[âïé≡âCâôâXâgü[âïé╖éΘé╔é═üA" + STR$(cost& / 1024) + " KâoâCâgé╠ï≤é½ùeù╩é¬òKùvé┼é╖üB" , "ï≤é½ùeù╩é╠òsæ½", MB_OK)
  319.     UIPop 1
  320.     RETURN
  321.     ENDIF
  322.  
  323. END SUB
  324.  
  325. TOOBIG:
  326.  
  327.